Field
The present disclosed embodiments relate generally to computing devices, and more specifically to control of processing cores in computing devices.
Background
Computing devices including devices such as smartphones, tablet computers, gaming devices, and laptop computers are now ubiquitous. These communication devices are now capable of running a variety of applications (also referred to as “apps”) and many of these devices include multiple processors to process tasks that are associated with apps. In many instances, multiple processors are integrated as a collection of processor cores within a single functional subsystem.
It is known that the processing load on a mobile device may be apportioned to the multiple cores. As an example, for load balancing purposes, a processing task may be migrated from one core to another core. In addition, cores may be brought online, so the cores are available for use (e.g., by a scheduler, interrupt handlers, etc.), and cores may be taken offline so the cores are completely unavailable for any kind of work including processes and interrupts.
In addition, it is known that processor cores may be placed into one or more sleep states when the cores are online. Although the power cost of a core may be lower in a sleep state than when a core is actively executing code, there is nonetheless a static power cost to most sleep states due to leakage that reduces battery energy and/or adversely affects thermal aspects of the subsystem.